//1. 在小程序中必须使用https接口,并且不能使用ip地址为域名
//2. 当在开发阶段有可能使用以上情况的接口地址
//解决方案
// 1. 打开小程序开发工具的 详情-->本地设置--> 不校验合法域名xxx 打上对勾
// 当使用此设置时, 小程序可以向任意地址发送请求
// 2. 打开微信小程序管理平台 登录之后 在左侧选择 开发-->开发管理-->开发设置 -->服务器域名-->点击修改 -->按照提示信息 加注合法域名

// wx.request({
//   url: 'test.php', //仅为示例，并非真实的接口地址
//   data: {}, //向后段发送的数据
//   header: { //请求头信息
//     'content-type': 'application/json' // 默认值
//   },
//   success (res) {//请求成功后的回调
//     console.log(res.data)
//   },
//   fail(err){//接口调用失败的回调函数

//   },
//   complete(){//无论成功还是失败都会调用

//   }
// })
//异步封装解决方法都有那些
// promise  async/await 回调函数  订阅发布  事件监听


const baseUrl = "https://api-hmugo-web.itheima.net/api/public/v1/"
//使用promise
let ajaxConter = 0
const request = function (opations) {
 ajaxConter++;
  wx.showLoading({
    title: '正在加载...',
    mask:true
  })
      opations.url = baseUrl + opations.url;
      return new Promise((resolve, reject) => {
            wx.request({
                  ...opations,
                  timeout: 5000,
                  success: (result) => {
                        resolve(result)
                  },
                  fail: (err) => {
                        reject(err)
                  },
                  complete:()=>{
                    ajaxConter--;
                    if(ajaxConter == 0){
                      wx.hideLoading()
                    }
                    
                  }
            })
      })
}
const homeApi ={
  getSwiperData:function(){
    return request({
      url:"home/swiperdata",
    })
  },
  getCatitems:function(data){
    return request({
      url:"home/catitems"
    })
  },
  getFloordata:function(){
    return request({
      url:"home/floordata"
    })
  }
}
const categoriesApi = {
  getCategories:function(){
    return request({
      url:"categories"
    })
  }
};
const goodsApi ={
  // goods/search
  getGoodList:function(data){
    return request({
      url:"goods/search",
      data:data
    })
  },
  getGoodsdeale(data) {
    return request({
      url: "goods/detail",
      data: data
    })
  }
}

const API ={
  homeApi,
  categoriesApi,
  goodsApi,

}
export default API
// export default request